package org.example.gxpt.service;

import org.example.gxpt.common.result.Result;
import org.example.gxpt.pojo.dto.ShowroomDTO;
import org.example.gxpt.pojo.dto.ShowroomUpdateDTO;
import org.example.gxpt.pojo.entity.Showroom;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface ShowroomService {

    /**
     * 保存展厅
     * @param showroomDTO
     * @return
     */
    Result saveShowroom(ShowroomDTO showroomDTO);

    /**
     * 根据当前上下文更新展厅(展厅管理员使用)
     * @param showroomUpdateDTO
     * @return
     */
    Result updateByContext(ShowroomUpdateDTO showroomUpdateDTO);

    /**
     * 根据id更新展厅(上一级管理员使用)
     * @param showroomUpdateDTO
     * @return
     */
    Result updateById(ShowroomUpdateDTO showroomUpdateDTO);

    /**
     * 根据id查询展厅
     * @param id
     * @return
     */
    Result<Showroom> getShowroomById(Long id);

    /**
     * 查询所有展厅
     * @return
     */
    Result<List<Showroom>> listAll();

    /**
     * 删除展厅
     * @param id
     * @return
     */
    Result deleteShowroom(Long id);
}
